home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / i2c-gpio.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.3 KB  |  39 lines

  1. /*
  2.  * i2c-gpio interface to platform code
  3.  *
  4.  * Copyright (C) 2007 Atmel Corporation
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #ifndef _LINUX_I2C_GPIO_H
  11. #define _LINUX_I2C_GPIO_H
  12.  
  13. /**
  14.  * struct i2c_gpio_platform_data - Platform-dependent data for i2c-gpio
  15.  * @sda_pin: GPIO pin ID to use for SDA
  16.  * @scl_pin: GPIO pin ID to use for SCL
  17.  * @udelay: signal toggle delay. SCL frequency is (500 / udelay) kHz
  18.  * @timeout: clock stretching timeout in jiffies. If the slave keeps
  19.  *    SCL low for longer than this, the transfer will time out.
  20.  * @sda_is_open_drain: SDA is configured as open drain, i.e. the pin
  21.  *    isn't actively driven high when setting the output value high.
  22.  *    gpio_get_value() must return the actual pin state even if the
  23.  *    pin is configured as an output.
  24.  * @scl_is_open_drain: SCL is set up as open drain. Same requirements
  25.  *    as for sda_is_open_drain apply.
  26.  * @scl_is_output_only: SCL output drivers cannot be turned off.
  27.  */
  28. struct i2c_gpio_platform_data {
  29.     unsigned int    sda_pin;
  30.     unsigned int    scl_pin;
  31.     int        udelay;
  32.     int        timeout;
  33.     unsigned int    sda_is_open_drain:1;
  34.     unsigned int    scl_is_open_drain:1;
  35.     unsigned int    scl_is_output_only:1;
  36. };
  37.  
  38. #endif /* _LINUX_I2C_GPIO_H */
  39.